﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace ERP.BusinessEntities.Util
{
    public interface IReflectUtil
    {
        object GetProperty(object obj, String strPropertyName);
        object GetProperty(object obj, PropertyInfo prop);
        object GetProperty(object obj, FieldInfo fld);
        object GetProperty(object obj, Type type, System.Reflection.PropertyInfo prop);
        object GetProperty(object obj, Type type, FieldInfo fld);

        void SetProperty(object obj, String strPropnName, object value);
        void SetProperty(object obj, PropertyInfo prop, object value);
        void SetProperty(object obj, Type type, PropertyInfo prop, object value);
        void SetProperty(object obj, Type type, FieldInfo fld, object value);

        object CreateInstance(String strType);
        object CreateInstance(Type type);
    }
}
